草庐IT

JavaScript for ... of 循环

全部标签

javascript - JavaScript 中的链式赋值和循环引用

考虑以下语句:varfoo={n:1};foo.bar=foo={n:2};你能解释一下为什么foo.bar是undefined而不是foo吗? 最佳答案 在执行赋值运算符时,JS会先计算左边的部分。所以这个foo.bar=foo={n:2};被解释为评估foo.bar.这将返回一个引用{base:Object{n:1},property:bar}.然后评估第二个作业:2.1评估foo.这将返回一个引用{base:,property:foo}2.2。评估{n:2}.这将创建一个新对象。2.3放值:.foo={n:2}2.4返回{n:

条件是 promise 的 Javascript while 循环

是否可以在条件为promise的情况下制作原生JavaScriptwhile循环?编辑:我想要做的是在将文件上传到firebase存储之前实现检查,以查看firebase存储中是否已存在同名文件。如果已经有同名文件,则添加一个随机后缀并再次检查。varstorageRef=firebase.storage().ref().child(fileName);while(storageRef.getDownloadURL()){//createrandomnumberinbetween0and100varrandom=Math.floor((Math.random()*100)+1);sto

JavaScript。带有 innerHTML 的循环在循环执行期间不会更新

我试图在每个循环中从Javascript刷新一个div并查看1,2,3,....以下代码有效,但仅显示最终结果(9998)。如何显示所有步骤?提前谢谢你。functionlaunch(){for(inc=0;inc 最佳答案 JavaScript执行和页面呈现在同一个执行线程中完成,这意味着当您的代码正在执行时,浏览器不会重绘页面。(虽然即使它在for循环的每次迭代中都重新绘制页面,它也会非常快,以至于您实际上没有时间查看各个数字。)您要做的是使用setTimeout()或setInterval()函数(window对象的两种方法)

javascript - 谷歌地图 API : infoWindow flickers/closes automatically because of mouseout event

我正在为我正在进行的一个漂亮的新项目创建多边形。每当您将鼠标悬停在infoWindow上时,就会出现问题,多边形上的mouseout事件会触发。除非鼠标移出多边形和信息窗口,否则我不希望触发mouseout事件。有任何想法吗?这是大部分相关代码。infoWindow=newgoogle.maps.InfoWindow({content:myContent});varpolygon=newgoogle.maps.Polygon({paths:polygonPath,strokeColor:data.color,strokeOpacity:0.5,strokeWeight:0,fillCo

javascript - 未捕获的类型错误 : Cannot read property 'document' of undefined

我有以下功能,在我测试过的几台PC上运行良好。我已经在Chrome、IE和Firefox上测试过,没有任何问题。但是,有一台特定的PC(运行Chrome)在该行抛出此错误“UncaughtTypeError:Cannotreadproperty'document'ofundefined”:win.document.write(data);难道是因为win为null?如果是这样,为什么这台特定PC会出现这种情况?是否有一些Chrome设置需要设置?方法:functionviewReport(){console.info('generatingeventreport');varfrmDat

循环内的 Javascript 变量声明

我有一个近乎强制性的习惯,但我认为这可能是完全没有必要的。使用如下代码:functionabc(){vara,b;for(vari=0;i我强制自己在循环之前声明变量,而不是:functionabc(){for(vari=0;i请注意,在第二个代码块中,每次循环迭代时,我都使用var定义变量。我想第一个是可读性等方面的最佳实践。但有时我只是在破解一些东西,不需要遵循最佳实践。我的问题是:是否有任何理由不定义一个将在循环内使用var关键字重新定义的变量? 最佳答案 由于Javascript中的变量提升,在函数顶部或for循环内的var

javascript - react : TypeError: Cannot read property 'propTypes' of undefined

请我为以下reactjs页面编写一个单元测试。exportdefaultclassCollapsibleextendsReact.Component{staticpropTypes={title:React.PropTypes.string,children:React.PropTypes.any,};render(){const{title}=this.props;return({title}{this.props.children});}}跟着啧啧Here我在下面写了我的测试describe('Collapsible',()=>{it('works',()=>{letrendere

javascript - JavaScript 中的双重 for 循环

varstartx=0,starty=0,endx=12,endy=100;for(startx;startx预期输出:0,12,0,1000,12,1,1000,12,2,100...0,12,100,1001,12,0,1001,12,1,100...12,12,100,100;EOOChrome39+上的输出0,12,0,1000,12,1,1000,12,2,100...0,12,100,100所以问题是第一个for循环没有遍历startx变量。你能告诉我为什么它不迭代吗? 最佳答案 那是一个有趣的谜题。我花了几次才捕获它。

javascript - 在 javascript 的 for 循环定义中使用 arr[i] 和 arr.length 的区别

我遇到了一些我以前从未见过的东西,我喜欢它。检查以下示例:vararr=['un','deux','trois','quatre','cinq','six','sept'];for(vari=0;arr[i];i++){console.log(arr[i]);}代替:for(vari=0;i但是他们都实现了相同的结果,就是输出一个数组列表。我的问题是,在for循环声明中使用'arr[i]'和'arr.length'有什么不同(或相似)?非常感谢 最佳答案 vararr=['un','deux','trois',null,'cinq'

javascript - 谷歌浏览器导致文本框焦点无限循环

我在谷歌浏览器上遇到了一些奇怪的事情。使用以下代码,我收到了无限数量的警报。$('input[type="text"]').live('focus',function(event){alert('in');});http://jsfiddle.net/XppG9/Firefox和IE8都可以。为什么在Chrome中会发生这种情况? 最佳答案 我认为,这是因为在关闭对话框(警告框)后,焦点返回到文本框,因此该函数将再次触发。 关于javascript-谷歌浏览器导致文本框焦点无限循环,我们